不知不覺鐵人賽已經進行1/3了,R語言的基本介紹也已經差不多結束,接著會進入分析中常用的資料處理環節,今天我們就先來介紹數據的欄位格式轉換
這邊會繼續使用Day9的資料來做舉例,假設今天有以下的資料day10_A
,想把他轉成day10_B
的格式,可以使用melt()
,由於melt()
函數在reshape2
這個套件中,因此需要先利用library()
載入套件。
melt()
參數定義如下:
轉換前:
library(reshape2)
day10_A = data.frame(
May_score = c(80, 93, 99),
Ann_score = c(85, 82, 95),
Jay_score = c(90, 78, 92)
)
# 原始資料呈現
day10_A
May_score Ann_score Jay_score
1 80 85 90
2 93 82 78
3 99 95 92
轉換後:
day10_B <- melt(day10_A,
measure.vars =c("May_score", "Ann_score", "Jay_score"),
variable.name = c("New_name"))
day10_B
New_name value
1 May_score 80
2 May_score 93
3 May_score 99
4 Ann_score 85
5 Ann_score 82
6 Ann_score 95
7 Jay_score 90
8 Jay_score 78
9 Jay_score 92
dcast()
:melt()
的反義dcast(day10_B, formula = subject ~ New_name, value.var="value")
subject May_score Ann_score Jay_score
1 Chinese 80 85 90
2 English 99 95 92
3 Math 93 82 78
下一篇將介紹一個筆者在資料處理最常使用的套件: dplyr()
,melt()
與dcast()
的介紹就到這!